const { spawn } = require("child_process");

// 设置环境变量
process.env.OPENAI_BASE_URL = "https://api.lkeap.cloud.tencent.com/v1";
process.env.OPENAI_MODEL = "deepseek-v3";
process.env.OPENAI_API_KEY =
  "sk-apikey";

// 启动 main.js
const mainJsProcess = spawn("node", ["main.js"]);

// 记录 PID
console.log(`main.js 已启动，PID: ${mainJsProcess.pid}`);

// 监听 a.js 的退出事件
process.on("SIGINT", () => {
  console.log("a.js 正在关闭...");
  stopMainJs();
  process.exit(); // 退出 a.js
});

process.on("SIGTERM", () => {
  console.log("a.js 正在关闭...");
  stopMainJs();
  process.exit(); // 退出 a.js
});

// 关闭 main.js 的函数
function stopMainJs() {
  if (!mainJsProcess || mainJsProcess.killed) {
    console.log("main.js 未启动或已关闭");
    return;
  }

  // 终止 main.js 进程
  mainJsProcess.kill();
  console.log(`main.js 已关闭，PID: ${mainJsProcess.pid}`);
}

// 监听 main.js 的异常退出
mainJsProcess.on("error", (err) => {
  console.error("main.js 启动失败:", err);
});

mainJsProcess.on("exit", (code) => {
  console.log(`main.js 已退出，退出码: ${code}`);
});
